package com.seleniti.enpareja.controller.ui.view;

import org.ioc.commons.flowcontrol.actioncontroller.IsExternalAction;
import org.ioc.commons.flowcontrol.eventbus.IsEvent;
import org.ioc.commons.flowcontrol.operationmanager.IsOperation;
import org.ioc.commons.ui.HasValue;
import org.ioc.commons.ui.IsView;
import org.ioc.commons.ui.IsViewPresenter;

public interface RequiredReloadView extends EnParejaView<RequiredReloadView.Event, RequiredReloadView.Operation, RequiredReloadView.Action> {
	
	@interface Fires {
		RequiredReloadView.Event[] value();
	}

	@interface Invokes {
		RequiredReloadView.Action[] value();
	}

	@interface Performs {
		RequiredReloadView.Operation[] value();
	}

	public enum Event implements IsEvent {
	}

	public enum Operation implements IsOperation {
	}

	public enum Action implements IsExternalAction {
	}

	public interface Presenter extends IsViewPresenter {

		void onReloadNow();

	}

	HasValue<Integer> counter();

}

